// enum Color {
//     Red,
//     Yellow,
//     Blue,
//     Black,
// }

// fn print_color(my_color: Color) {
//     match my_color {
//         Color::Red => println!("Red"),
//         Color::Yellow => println!("Red"),
//         Color::Blue => println!("Red"),
//         _ => (),
//     }
// }

enum BuildingLocation {
    Name(String),
    Number(i32),
    Unknown,
}

impl BuildingLocation {
    fn print_location<'a>(&'a self) {
        match self {
            BuildingLocation::Name(s) => println!("Name:{}", s),
            BuildingLocation::Number(c) => println!("Number:{}", c),
            BuildingLocation::Unknown => println!("Unknown"),
        }
    }
}

fn main() {
    // print_color(Color::Red)
    // let house = BuildingLocation::Name("house_name".to_string());
    let house = BuildingLocation::Number(30);
    // let house = BuildingLocation::Unknown;
    house.print_location();
}
